<?php
//require __DIR__.'/common/common.php';
//$file=new file(__DIR__.'/ET.txt');
//echo $file->getALL();
//$file->encode('UTF-8');

class car{
    public $chepai;
    const INT=666;//定义一个常量
    const BOOL=false;
    const ARRAY=array(1,2,3);//常量可以是数组
    const FLOAT=1.22;
    const STRING='hello';
    //static 修饰的变量 就是全局变量
    static public $work=5;//静态变量=全局变量
    static private $qwer=10;//类外部不可修改
    public $abc=5;
    public function jiashi()
    {
        //echo car::FLOAT;使用常量
        //echo self::STRING;使用常量,self当前整个类
        self::shenfen();
        //echo '车一直行驶';
        echo "<br/>";
    }
    public function __destruct()//析构函数
    {
        echo '车停止了';
    }
    public function shenfen()
    {
        //self 可以用于访问类的静态属性、静态方法和常量，但 self 指向的是当前定义所在的类
       // echo 'shenfen';
        //$this->chepai='A001';
        self::$work+=5;
        self::$qwer+=10;
    }
    public static function task()//静态方法，不能用$this
    {
        echo self::$abc;//无法使用
        $car=new car();
        echo $car->abc;

        var_export(self::$work);//使用静态变量
        //echo $this->shenfen;//静态方法，不能用$this
        //echo 333;
    }

    public function task2()
    {
        var_export(self::$work);//使用静态变量
    }
}
//$car=new car();
//$car->jiashi();
//sleep(必需。规定延迟执行脚本的秒数) 函数延迟执行当前脚本若干秒。
//sleep(10);//休眠10秒，10秒后触发__destruct()析构函数
//类外部使用常量    类名：：常量名
//echo car::INT;//使用常量
// $this 不能访问类的静态属性和常量，且 $this 不能存在于静态方法中
/*car::task();//使用静态方法,不用new
car::$work=5;
car::task();//使用静态方法
car::$work=10;
car::task();//使用静态方法*/
//static 修饰的function 无法使用 类变量 类属性
//类方法 无法使用self去调用一个类变量 可以使用静态方法
//在类方法 可以使用静态变量
//关键字 this 不能在静态方法使用
car::task();
echo "<br/>";
$car=new car();
$car->shenfen();
$car2=new car();
$car2->shenfen();
$car2->task2();